home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / x11 / networke / xfirepow.000 / xfirepow / xfirepower-0.84 / client / libsprite / triangle.c < prev    next >
C/C++ Source or Header  |  1995-05-23  |  1KB  |  54 lines

  1. #include "allincludes.h"
  2.  
  3. void
  4. W_WriteAnyTriangle(window, X1, Y1, X2, Y2, X3, Y3, color)
  5.     W_Window window;
  6.     int     X1, Y1, X2, Y2, X3, Y3;
  7.     W_Color color;
  8. {
  9.     struct window *win = W_Void2Window(window);
  10.     XPoint  points[3];
  11.  
  12.     points[0].x = X1;
  13.     points[0].y = Y1;
  14.     points[1].x = X2;
  15.     points[1].y = Y2;
  16.     points[2].x = X3;
  17.     points[2].y = Y3;
  18.  
  19.     XFillPolygon(W_Display, win->drawable, colortable[color].contexts[0],
  20.          points, 3, Convex, CoordModeOrigin);
  21. }
  22.  
  23. void
  24. W_WriteTriangle(window, x, y, s, t, color)
  25.     W_Window window;
  26.     int     x, y, s;
  27.     int     t;
  28.     W_Color color;
  29. {
  30.     struct window *win = W_Void2Window(window);
  31.     XPoint  points[3];
  32.  
  33.     if (t == 0) {
  34.     points[0].x = x;
  35.     points[0].y = y;
  36.     points[1].x = x + s;
  37.     points[1].y = y - s;
  38.     points[2].x = x - s;
  39.     points[2].y = y - s;
  40.     } else {
  41.     points[0].x = x;
  42.     points[0].y = y;
  43.     points[1].x = x + s;
  44.     points[1].y = y + s;
  45.     points[2].x = x - s;
  46.     points[2].y = y + s;
  47.     }
  48.  
  49.  
  50.     XFillPolygon(W_Display, win->drawable, colortable[color].contexts[0],
  51.          points, 3, Convex, CoordModeOrigin);
  52. }
  53.  
  54.